User interfaces, such as graphical user interfaces, present information and functionality to a user for interaction with software. A user interface can interact with a user through a myriad of user interface elements or widgets. Many of these user interface elements receive input from a user through an input mechanism such as a mouse or keyboard. Furthermore, these user interface elements can include a graphical element with a collection of input elements. For example, a tree widget may provide a hierarchy of widgets, where each widget has its own window, dialog or form for interacting with the application. In another example, a set of property sheets may have multiple tabs with each tab handling a portion of user input for the user interface.
Users may interact with user interface elements to modify multiple input elements across multiple forms or screens. For example, a user may change a value of an input element in a first screen, and then the user may navigate to one or more other screens before saving any changes in the first screen. The user may also change input values of input elements in the other screens. In some cases, the user may attempt to change a value of an input element but may not actually apply the change of the value. In other cases, the user may apply the change in value to determine the effect on the functionality of the user interface, but not permanently save the change. As such, the user may perform one or more actions to change the values of input elements before saving, applying, or canceling the changes.
Prior to saving, applying, or canceling any changes to values of input elements in the user interface, the user may need to review such changes to determine if the user desires to save, apply, or cancel the changes. With more and more input elements on the user interface, it is increasingly challenging for a user to determine the input elements that have changed values or that the user may have tried to change. Also, it is further challenging for the user to determine the input related activity of multiple input elements across multiple forms or screens before saving, applying, or canceling any changes made by such activity.